//
//  DKImageSqlite.h
//  Sekiss
//
//  Created by Alex on 15-3-4.
//  Copyright (c) 2015年 Alex. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <sqlite3.h>

/**
 *  下载完成后的回调
 *
 *  @param imageData 图片数据
 */
typedef void(^DKImageSqliteBlock)(UIImage* imageData);
/**
 *  下载中的回调
 *
 *  @param totalByte   总下载大小(若获取失败，则为-1)
 *  @param receiveByte 已下载大小(若下载失败，则为-1)
 *  @param isFinish    是否下载完
 */
typedef void(^DKImageProcessBlock)(long long totalByte,long long receiveByte,BOOL isFinish);





//-----------------------------------------------------------------------------
@interface DKImageSqlite : NSObject
/**
 *  获取单例
 *
 *  @return 单例
 */
+(instancetype)shareImageSqlite;


/**
 *  清除数据
 */
+(void)clearData;


/**
 *  异步下载图片
 *
 *  @param url              图片url
 *  @param placeHodler      默认图片
 *  @param target           目标imageView
 *  @param process          下载中的回调
 *  @param enableDownload   是否允许从服务端下载
 *  @param completion       完成后的回调
 */
-(void)loadImage:(NSString*)url
     placeHolder:(UIImage*)placeHolder
          target:(UIImageView*)target
         process:(DKImageProcessBlock)process
  enableDownload:(BOOL)enableDownload
      completion:(DKImageSqliteBlock)completion;


@end